Booting a computer system generally refers to loading an operating system (O/S) into the computer's main memory or random access memory (RAM). Once the operating system is loaded, the operating system is ready for users to run applications. Generally, read only memory (ROM) modules are used for initial program loading of computer systems by loading a very small program into the computer from a boot ROM and then giving that small program control so that the small program loads the entire operating system from some other memory storage device, such as a disk drive. This occurs by designing a Central Processing Unit (CPU) of the computer to begin fetching code from a pre-specified address in the boot ROM after the CPU is released from a powered-up reset or released from other reset conditions. These boot ROMs are generally internal to the computer system. In the case of computer systems for embedded control applications, a small operating system as well as a small programmable application can be stored in an uncompressed form in a programmable read only memory (PROM). In this case, the embedded computer system simply boots up by executing the operating system as well as the application programs directly from the PROM. In another example, a larger operating system and a larger programmable application are stored in a compressed form in a PROM. The CPU follows instructions in a section of the PROM to load the operating system and application program into a RAM based system memory, then to uncompress the operating system and application program in RAM, and then the CPU executes instructions from the uncompressed operating system and application program that are stored in the RAM.